package com.guomao;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;


@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {



        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String rememberMe = request.getParameter("rememberMe");
        
        // 验证用户名和密码（这里简化处理，实际应用中应该查询数据库）
        if (isValidUser(username, password)) {
            // 创建会话
            HttpSession session = request.getSession();
            session.setAttribute("username", username);
            
            // 如果用户选择了"记住我"，设置Cookie
            if ("on".equals(rememberMe)) {
                // 创建用户名Cookie，有效期7天
                Cookie usernameCookie = new Cookie("rememberedUsername", username);
                usernameCookie.setMaxAge(7 * 24 * 60 * 60); // 7天
                response.addCookie(usernameCookie);
                
                // 创建密码Cookie（注意：实际应用中不应该存储明文密码）
                // 这里仅为演示，实际应使用加密或令牌方式
                Cookie passwordCookie = new Cookie("rememberedPassword", password);
                passwordCookie.setMaxAge(7 * 24 * 60 * 60); // 7天
                response.addCookie(passwordCookie);
            } else {
                // 如果用户未选择"记住我"，删除可能存在的Cookie
                Cookie[] cookies = request.getCookies();
                if (cookies != null) {
                    for (Cookie cookie : cookies) {
                        if ("rememberedUsername".equals(cookie.getName()) || 
                            "rememberedPassword".equals(cookie.getName())) {
                            cookie.setMaxAge(0); // 立即过期
                            response.addCookie(cookie);
                        }
                    }
                }
            }
            
            // 重定向到欢迎页面
            response.sendRedirect("WelcomeServlet");
        } else {
            response.setCharacterEncoding("UTF-8");
            // 登录失败处理
            response.getWriter().println("username or password incorrect");
        }
    }
    
    private boolean isValidUser(String username, String password) {
        // 实际应用中应该查询数据库验证
        return "admin".equals(username) && "123456".equals(password);
    }
}